---
id: "module"
keywords: ["module"]
name: "module"
summary: "This is the `module` keyword."
category: "languageconstructs"
---

`module` is used to define a scoped block of code that may contain types, `let` bindings, nested modules, etc.

### Example

<CodeTab labels={["ReScript", "JS Output"]}>

```res
module Point3D = {
  type point = (float, float, float)
  let make = (x, y, z) => (x, y, z)
}

let origin = Point3D.make(0.0, 0.0, 0.0)
```

```js
function make(x, y, z) {
  return [x, y, z];
}

var Point3D = {
  make: make,
};

var origin = [0.0, 0.0, 0.0];
```

</CodeTab>

### References

- [Module](../docs/manual/module.mdx)
